//
// Created by liushuai on 2021/1/8.
//

#include "maxArea.h"
int maxArea(std::vector<int>& height) {
    int start = 0;
    int end = height.size()-1;
    int maxWater = std::min(height[start],height[end])*(end-start);//最短边和水桶距离的差决定了装水量
    while (start!=end){
        if(height[start] > height[end]){//左边容器比较高，为了装更多的水只能移动右边的容器以获得更多的水
            maxWater = std::max(height[end]*(end-start),maxWater);
            end--;
        }else{
            maxWater = std::max(height[start]*(end-start),maxWater);//右边容器高，只能左边移动
            start++;
        }
    }
    return maxWater;
}